1. Field of the Invention
This invention relates to multimedia server systems and more particularly to the synchronization of media stream playlists with real time i.e., actual clock time, in a video server environment.
2. Description of the Related Art
Media servers provide cost-effective video, audio, and other multimedia stream capabilities for use in both business and consumer environments. For example, a video server may include a library of video sources such as movies from video, and permit one or more users to select one or more of the movies for viewing. The video server typically includes magnetic storage hard disk drives on which recorded blocks from the user-selected video sources are magnetically stored. Movies typically are two hours long, and are encoded (e.g., using MPEG) at a rate of between perhaps one Mb/second and about eight Mb/second. Thus, one movie may require one GB to eight GB of storage media.
An admission arbiter unit is typically provided to limit the overall number of users of the video server at a given time and to prevent overloading of the network or disk storage system. Such overload could cause movies to run too slowly or to move forward (or backward) in a jerky manner. The time at which a particular movie should be played and the order at which movies are played is controlled by a playlist. A playlist is a contiguous list of multimedia titles placed at a particular position upon the playlist timeline. Each title has a specified duration. Once a command to play the playlist is given, the play should advance along the playlist timeline in equal measure with the time of day.
It is often impractical to store an entire movie in a single hard disk unit since a typical hard disk unit can only output data at a rate of a few Mb/second. To circumvent this storage problem, it is common to store blocks of the movie (e.g., perhaps 0.5 second sequences) across multiple hard disk units. These blocks are then read out or transferred to a buffer, and communicated over the network. As these blocks are sent over the network, new blocks from the movie are read out from the hard disk unit. At the receiving end, the blocks are decoded for user viewing on a video monitor, television receiver or the like.
The use of hard disk drives to store information magnetically is well known. A single hard disk drive typically includes several rotating disks or platters upon whose surfaces information may be written or read by a read/write head. Within a hard disk drive, the platters rotate together, and all read/write heads typically are moved simultaneously to access different platter positions. A platter typically is formatted into concentric tracks that define collectively, platter-to-platter, a family of concentric cylinders, and into sectors that represent a portion of a track. A controller associated with the hard disk unit determines which cylinder, read/write head and sector is to be accessed for reading or writing.
The platters may also be considered as being divided into zones. Since they are physically larger, tracks in zones at the outer platter perimeter contain more sectors than tracks in zones nearer the rotational axis of the platter. Therefore, assuming that the platters rotate with a constant velocity w, the data bandwidth available from the outermost zones is greater than the data bandwidth available from the innermost zones. Even with modern hard disk drives, there can be a 2:1 variation between worst case and average case disk transfer bandwidth, due to sectors/track variations between outer and inner zones.
Unfortunately, providing a video bit stream from the output of a video server at the exact time specified by the playlist is difficult due to the delays inherent in multimedia players, which is a property of the disk access times and other delays associated with the multimedia server. The delay between the time when the play of a particular title on the playlist is commanded and the actual initiation of play is referred to as "admission delay".
The length of an admission delay is in general not of predictable duration. The duration of any particular admission delay is a property of the current load on the multimedia server and the specific timing relationship of the request to initiate play with respect to the position of the first requested data block within the disk array containing the multimedia stream. As a result, the exact time at which the video bit stream will be provided from the multimedia server will become offset with respect to real time. As a day progresses, the offset between the playlist and real time may increase due to the accumulating admission delays of the movies within the playlist.
Hence, a system and method would be desirable to synchronize the presentation of media stream playlists with real time, and to allow a system operator to flexibly specify the manner in which admission delays are accounted for.